An upgrade campaign is the process of migrating a system from one configuration to another. In Service Availability Forum (SAF) compliant systems, Software Management Framework (SMF) is the engine responsible for the orchestration of such migration. To perform the changes, SMF takes an input consisting of an upgrade campaign specification file, which contains different actions to perform system changes. When designing an upgrade campaign, the campaign designer can face several challenges because of the complexity and the size of the system, and the effect that these two attributes have on the amount of actions to take the system from one state to another.
When upgrading a safety critical or highly-available (HA) system (i.e. a system that needs to be running 99.999% of the time, for example), an administrator has at least two main concerns. The first concern is the correctness of the upgrade. Correctness means that the instructions passed to the upgrade engine are performing the necessary changes to achieve the target configuration. The second concern is to minimize the outage and service disruption. In safety critical or HA systems, service disruption or outage can be very costly. While system upgrades are necessary for maintenance purposes, they are considered one of the main causes of outage.
Designing an upgrade campaign is a complex and error prone task. The task becomes even more difficult in the cloud context where there are many complex systems.